package com.hos.entity.hos;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import javax.validation.constraints.NotNull;

import java.io.Serializable;

import java.time.LocalDateTime;

import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.Length;

/**
* 广告表
* @author 陈海彬
 * @TableName hos_banner
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "hos_banner")
public class Banner implements Serializable {

    /**
    * 
    */
    @NotNull(message="[]不能为空")
    @ApiModelProperty("")
    private Integer id;
    /**
    * 广告标题
    */
    @NotBlank(message="[广告标题]不能为空")
    @Size(max= 63,message="编码长度不能超过63")
    @ApiModelProperty("广告标题")
    @Length(max= 63,message="编码长度不能超过63")
    private String name;
    /**
    * 所广告的商品页面或者活动页面链接地址
    */
    @NotBlank(message="[所广告的商品页面或者活动页面链接地址]不能为空")
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("所广告的商品页面或者活动页面链接地址")
    @Length(max= 255,message="编码长度不能超过255")
    private String link;
    /**
    * 广告宣传图片
    */
    @NotBlank(message="[广告宣传图片]不能为空")
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("广告宣传图片")
    @Length(max= 255,message="编码长度不能超过255")
    private String url;
    /**
    * 广告位置：1则是首页
    */
    @ApiModelProperty("广告位置：1则是首页")
    private Integer position;
    /**
    * 活动内容
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("活动内容")
    @Length(max= 255,message="编码长度不能超过255")
    private String content;
    /**
    * 广告开始时间
    */
    @ApiModelProperty("广告开始时间")
    private LocalDateTime startTime;
    /**
    * 广告结束时间
    */
    @ApiModelProperty("广告结束时间")
    private LocalDateTime endTime;
    /**
    * 是否启动
    */
    @ApiModelProperty("是否启动")
    private Integer enabled;
    /**
    * 创建时间
    */
    @ApiModelProperty("创建时间")
    private LocalDateTime addTime;
    /**
    * 更新时间
    */
    @ApiModelProperty("更新时间")
    private LocalDateTime updateTime;
    /**
    * 逻辑删除
    */
    @ApiModelProperty("逻辑删除")
    private Integer deleted;

}
